/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.inventory.entity;

import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 资产管理Entity
 * @author johnKee
 * @version 2016-07-20
 */
public class HostInventory extends DataEntity<HostInventory> {
	
	private static final long serialVersionUID = 1L;
	private Long hostid;		// hostid
	private String inventoryMode;		// 资产模式，监控否
	private String type;		// 类型
	private String typeFull;		// 详细类型
	private String name;		// 名称，唯一
	private String alias;		// 别名
	private String tag;		// 标签
	private String assetTag;		// 资产标签
	private String hardware;		// 硬件
	private String hardwareFull;		// 详细硬件
	private String contact;		// 联系信息
	private String software;		// 软件
	private String softwareFull;		// 软件
	private String notes;		// 联系信息
	private String vendor;		// 供应商
	private String model;		// 型号
	private String contractNumber;		// 合同
	private String dateHwPurchase;    //购买日期
	private String dateHwInstall;     //上架日期
	private String dateHwExpiry;    //质保日期
	private String siteRack;		// 所在机柜位置
	private String siteNotes;		// 位置备注


	private String cabinetId;       // 机柜id
	private String hostLocCode;		// 主机在机柜上的编号
	private String unitUsed;		// 占用几U
	private String unitUsedCode;	// 占用机柜格编号

	private String cabinetCode;
	private Long row;
	private Long columns;
	private Long volume;

	
	public HostInventory() {
		super();
	}

	public HostInventory(String id){
		super(id);
	}

	@NotNull(message="hostid不能为空")
	public Long getHostid() {
		return hostid;
	}

	public void setHostid(Long hostid) {
		this.hostid = hostid;
	}
	
	@Length(min=1, max=11, message="inventory_mode长度必须介于 1 和 11 之间")
	public String getInventoryMode() {
		return inventoryMode;
	}

	public void setInventoryMode(String inventoryMode) {
		this.inventoryMode = inventoryMode;
	}
	
	@Length(min=1, max=64, message="type长度必须介于 1 和 64 之间")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	@Length(min=1, max=64, message="type_full长度必须介于 1 和 64 之间")
	public String getTypeFull() {
		return typeFull;
	}

	public void setTypeFull(String typeFull) {
		this.typeFull = typeFull;
	}
	
	@Length(min=1, max=64, message="name长度必须介于 1 和 64 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=1, max=64, message="alias长度必须介于 1 和 64 之间")
	public String getAlias() {
		return alias;
	}

	public void setAlias(String alias) {
		this.alias = alias;
	}
	
	@Length(min=1, max=64, message="tag长度必须介于 1 和 64 之间")
	public String getTag() {
		return tag;
	}

	public void setTag(String tag) {
		this.tag = tag;
	}
	
	@Length(min=1, max=64, message="asset_tag长度必须介于 1 和 64 之间")
	public String getAssetTag() {
		return assetTag;
	}

	public void setAssetTag(String assetTag) {
		this.assetTag = assetTag;
	}
	
	@Length(min=1, max=255, message="hardware长度必须介于 1 和 255 之间")
	public String getHardware() {
		return hardware;
	}

	public void setHardware(String hardware) {
		this.hardware = hardware;
	}
	
	public String getHardwareFull() {
		return hardwareFull;
	}

	public void setHardwareFull(String hardwareFull) {
		this.hardwareFull = hardwareFull;
	}
	
	@Length(min=1, max=255, message="software长度必须介于 1 和 255 之间")
	public String getSoftware() {
		return software;
	}

	public void setSoftware(String software) {
		this.software = software;
	}
	
	public String getContact() {
		return contact;
	}

	public void setContact(String contact) {
		this.contact = contact;
	}

	public String getSoftwareFull() {
		return softwareFull;
	}

	public void setSoftwareFull(String softwareFull) {
		this.softwareFull = softwareFull;
	}

	public String getNotes() {
		return notes;
	}

	public void setNotes(String notes) {
		this.notes = notes;
	}
	@Length(min=1, max=64, message="vender长度必须介于 1 和 64 之间")
	public String getVendor() {
		return vendor;
	}

	public void setVendor(String vendor) {
		this.vendor = vendor;
	}
	@Length(min=1, max=64, message="ContractNumber长度必须介于 1 和 64 之间")
	public String getContractNumber() {
		return contractNumber;
	}

	public void setContractNumber(String contractNumber) {
		this.contractNumber = contractNumber;
	}

	public String getDateHwPurchase() {
		return dateHwPurchase;
	}

	public void setDateHwPurchase(String dateHwPurchase) {
		this.dateHwPurchase = dateHwPurchase;
	}

	public String getDateHwInstall() {
		return dateHwInstall;
	}

	public void setDateHwInstall(String dateHwInstall) {
		this.dateHwInstall = dateHwInstall;
	}

	public String getDateHwExpiry() {
		return dateHwExpiry;
	}

	public void setDateHwExpiry(String dateHwExpiry) {
		this.dateHwExpiry = dateHwExpiry;
	}

	@Length(min=1, max=64, message="model长度必须介于 1 和 64 之间")
	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}
	
	@Length(min=1, max=128, message="site_rack长度必须介于 1 和 128 之间")
	public String getSiteRack() {
		return siteRack;
	}

	public void setSiteRack(String siteRack) {
		this.siteRack = siteRack;
	}
	
	public String getSiteNotes() {
		return siteNotes;
	}

	public void setSiteNotes(String siteNotes) {
		this.siteNotes = siteNotes;
	}


	public String getCabinetId() {
		return cabinetId;
	}

	public void setCabinetId(String cabinetId) {
		this.cabinetId = cabinetId;
	}

	public String getHostLocCode() {
		return hostLocCode;
	}

	public void setHostLocCode(String hostLocCode) {
		this.hostLocCode = hostLocCode;
	}

	public String getUnitUsed() {
		return unitUsed;
	}

	public void setUnitUsed(String unitUsed) {
		this.unitUsed = unitUsed;
	}

	public String getUnitUsedCode() {
		return unitUsedCode;
	}

	public void setUnitUsedCode(String unitUsedCode) {
		this.unitUsedCode = unitUsedCode;
	}

	public String getCabinetCode() {
		return cabinetCode;
	}

	public void setCabinetCode(String cabinetCode) {
		this.cabinetCode = cabinetCode;
	}

	public Long getRow() {
		return row;
	}

	public void setRow(Long row) {
		this.row = row;
	}

	public Long getColumns() {
		return columns;
	}

	public void setColumns(Long columns) {
		this.columns = columns;
	}

	public Long getVolume() {
		return volume;
	}

	public void setVolume(Long volume) {
		this.volume = volume;
	}
}